'use strict';
(function(){
  var baseImageUrl = 'http://static.winnovator.cn/scale/20/';

  var ratef = function(v){
    var tv = (((v +6)/(12)+0.1)*100).toFixed(1);
    if(tv > 100){
      return 100;
    }
    return tv;

  };
  function getRandomNum(Min,Max)
  {
    var Range = Max - Min;
    var Rand = Math.random();
    return(Min + Math.round(Rand * Range));
  }

  var userSelectedSerial = {};

  //获得试题的各个维度的得分
  function qDimResult(qId,qAnswerArr){

    var dimResult = [];
    _.each(qAnswerArr, function(oneAid){
      var one = _answerDims[oneAid];
      _.each(one, function(oneDim){
        dimResult[oneDim.name - 1] = oneDim.value;
      });
    });
    return dimResult;

  }
  window.roundDataUtil = {
    currentQuestion:function(){
      return currentQuestion;
    },
    getNext: function(answerId){ //根据已有的答题序列获得下一提
      if(answerId === null){//针对用户没有选择的时候
        answerId = currentQuestion.answers[0].id;
        console.log("用户没有选择，默认为：" + answerId);
      }

      var oneAnswer = _answers[answerId];
      var nextItem = oneAnswer.next;
      var data = null;
      var questionIndex = -1;
      if(nextItem.type === 'q'){
        data = questions_map[nextItem.id];
        currentQuestion = data;
        //获得下一题目的索引值
        for(var i = 0 ; i < _questions.length ; i ++){
          var oneQuestoin = _questions[i];
          if(oneQuestoin.id == nextItem.id){
            questionIndex = i;
            break;
          }
        }
      }else{
        //答题结果
        //从特定的题型中解析该试题的维度


        //拿到用户的答题序列
        var dimResultArr = [];
        _.each(_.values(userSelectedSerial),function(oneArr){
          dimResultArr.push(qDimResult(null,oneArr));
        });
        var answerDimsList = [];//各个维度数组的总和
        for(var i = 0; i < 5; i++){
          var tempSum = 0;
          _.each(dimResultArr,function(oneDimResult){
            if(oneDimResult[i]){
              tempSum += oneDimResult[i];
            }
          });

          answerDimsList[i] = tempSum;
        }

        //根据各个维度获得结果
        var data = null;
        for(var i = 0; i < resultDescData.length; i++){
          var tmpDesc = resultDescData[i];
          if(tmpDesc.check(answerDimsList)){
            data = tmpDesc.getResult(answerDimsList);
            break;
          }
        }


        if(data === null){
          data = resultDescData[1].getResult([1,1,1,1,1]);
        }
      }

      return {
        type: nextItem.type,
        data:data,
        pageIndex: questionIndex
      }

    },
    selectItem: function(qid, selectSerial){
    //   console.log(qid);
    //   console.log(selectSerial);
      userSelectedSerial[qid] = selectSerial;
    },
    getUserSelectResult: function(){
      return userSelectedSerial;
    }
  }

  var _questions = [
    {
      'id': 'q1',
      'caption': '',
      'img_src': baseImageUrl + '1.jpg',
      'imgWidth': 650,'imgHeight': 310,
      'answers': [
        {'id':'a11', 'caption': '现在家庭的经济完全不足以负担两个孩子', 'next':{'type':'q','id':'q2'}},
        {'id':'a12', 'caption': '虽然有些经济压力，但是二胎也是值得的', 'next':{'type':'q','id':'q2'}}
      ]
    },
    {
      'id': 'q2',
      'caption': '',
      'img_src': baseImageUrl + '2.jpg',
      'imgWidth': 650,'imgHeight': 310,
      'answers': [
        {'id':'a21', 'caption': '给孩子适合TA的教育就好', 'next':{'type':'q','id':'q3'}},
        {'id':'a22', 'caption': '我要给孩子最好的教育', 'next':{'type':'q','id':'q3'}},
      ]
    },
    {
      'id': 'q3',
      'caption': '',
      'img_src': baseImageUrl + '3.jpg',
      'imgWidth': 650,'imgHeight': 310,
      'answers': [
        {'id':'a31', 'caption': '我要小心不要让孩子受到一点伤害', 'next':{'type':'q','id':'q4'}},
        {'id':'a32', 'caption': '孩子的问题就让孩子自己解决吧', 'next':{'type':'q','id':'q4'}}
      ]
    },
    {
      'id': 'q4',
      'caption': '',
      'img_src': baseImageUrl + '4.jpg',
      'imgWidth': 650,'imgHeight': 310,
      'answers': [
        {'id':'a41', 'caption': '我希望孩子保持童趣', 'next':{'type':'q','id':'q5'}},
        {'id':'a42', 'caption': '我希望孩子早点成熟长大', 'next':{'type':'q','id':'q5'}}
      ]
    },
    {
      'id': 'q5',
      'caption': '',
      'img_src': baseImageUrl + '5.jpg',
      'imgWidth': 650,'imgHeight': 310,
      'answers': [
        {'id':'a51', 'caption': '我更希望我的孩子能明事理', 'next':{'type':'q','id':'q6'}},
        {'id':'a52', 'caption': '我更希望我的孩子能善解人意', 'next':{'type':'q','id':'q6'}}
      ]
    },
    {
      'id': 'q6',
      'caption': '',
      'img_src': baseImageUrl + '6.jpg',
      'imgWidth': 650,'imgHeight': 310,
      'answers': [
        {'id':'a61', 'caption': '我更想让我的孩子活得快乐', 'next':{'type':'q','id':'q7'}},
        {'id':'a62', 'caption': '我更想让我的孩子获得成就', 'next':{'type':'q','id':'q7'}}
      ]
    },
    {
      'id': 'q7',
      'caption': '',
      'img_src': baseImageUrl + '7.jpg',
      'imgWidth': 650,'imgHeight': 310,
      'answers': [
        {'id':'a71', 'caption': '我希望我的孩子能有主见，执着于自己的想法', 'next':{'type':'q','id':'q8'}},
        {'id':'a72', 'caption': '我希望我的孩子能学会聆听，懂得尊重与妥协', 'next':{'type':'q','id':'q8'}}
      ]
    },
    {
      'id': 'q8',
      'caption': '',
      'img_src': baseImageUrl + '8.jpg',
      'imgWidth': 650,'imgHeight': 310,
      'answers': [
        {'id':'a81', 'caption': '孩子希望我给TA倾注全部的爱', 'next':{'type':'q','id':'q9'}},
        {'id':'a82', 'caption': '我的孩子不太介意弟弟/妹妹分享我的爱', 'next':{'type':'q','id':'q9'}}
      ]
    },
    {
      'id': 'q9',
      'caption': '',
      'img_src': baseImageUrl + '9.jpg',
      'imgWidth': 650,'imgHeight': 310,
      'answers': [
        {'id':'a91', 'caption': '孩子希望有个弟弟妹妹陪TA玩', 'next':{'type':'r','id':'c'}},
        {'id':'a92', 'caption': '孩子对现在的没有兄弟姐妹的状况挺满意的', 'next':{'type':'r','id':'c'}}
      ]
    }
  ];
  var _answerDims = {
    'a11': [{'name':1,'value':0}],
    'a12': [{'name':1,'value':1}],

    'a21': [{'name':2,'value':1}],
    'a22': [{'name':2,'value':0}],

    'a31': [{'name':2,'value':0}],
    'a32': [{'name':2,'value':1}],

    'a41': [{'name':2,'value':1}],
    'a42': [{'name':2,'value':0}],

    'a51': [{'name':3,'value':0}],
    'a52': [{'name':3,'value':1}],

    'a61': [{'name':3,'value':1}],
    'a62': [{'name':3,'value':0}],

    'a71': [{'name':3,'value':0}],
    'a72': [{'name':3,'value':1}],

    'a81': [{'name':4,'value':0}],
    'a82': [{'name':4,'value':1}],

    'a91': [{'name':4,'value':1}],
    'a92': [{'name':4,'value':0}]
  };
  function findJiaoyu(val){
    // console.log(val + "::find jisoyou");
    if(val <= 1){
      return '你对孩子呵护有加，希望把最好的给孩子，从这个角度看，生二胎的选择可能和你当前的抚养理念有些小小的冲突';
    }else{
      return '在教育方面，你倾向于让孩子自主快乐地长大，不希望过多的干涉孩子，这种理念比较契合二胎的选择';
    }
  }
  function findXinzhi(val){
    // console.log(val + "::find xinzhi");
    if(val <= 1){
      return '你的孩子可能比较适合在家长的抚育下独自成长';
    }else{
      return '你的孩子可能比较适合与兄弟姐妹一起成长';
    }
  }
  var resultDescData =
    [
      {
        check:function(dimList){
          var sum = _.reduce(dimList, function(memo, num){ return memo + num; }, 0);

          if(sum <=4){
            return true;
          }
          return false;
        },
        getResult: function(dimList){
          var sum = _.reduce(dimList, function(memo, num){ return memo + num; }, 0);

          return {
            id : 'r1',
            title: (sum + 1) * 10 + '%，适合三口之家',
            rate:0,
            desc:'' +
            '<h4>' +
            '你的家庭对二胎的准备程度是' +
            (sum + 1) * 10 + '%，适合<span style="color: #b2ed38">三口之家</span>。' +
            '。经济方面的压力决定了物质基础，是大部分家庭考虑二胎问题的首要疑虑，而我们也希望各位家长能更多地关注自己和孩子在心理方面的准备程度。' +
            '<br /><br />' +
            findJiaoyu(dimList[1]) +
            '；另一方面，兄弟姐妹的存在对于孩子的心智发展有很大的影响，从你对孩子的培养目标来看，' +
            findXinzhi(dimList[2]) +
            '。' +
            '<br /><br />' +
            '同时，孩子对于弟弟妹妹的接纳程度关系到家庭的和睦，如果家长想要二胎一定要与孩子充分沟通哦~' +
            '</h4>',
            url: baseImageUrl + 'result_r1.jpg'
          }
        }
      },
      {
        check:function(dimList){
          var sum = _.reduce(dimList, function(memo, num){ return memo + num; }, 0);

          if(sum >= 5){
            return true;
          }
          return false;
        },
        getResult: function(dimList){
          var sum = _.reduce(dimList, function(memo, num){ return memo + num; }, 0);

          return {
            id : 'r2',
            title: (sum + 1) * 10 + '%，适合四口之家',
            rate:0,
            desc:'' +
            '<h4>' +
            '你的家庭对二胎的准备程度是' +
            (sum + 1) * 10 + '%，适合<span style="color: #b2ed38">四口之家</span>。' +
            '经济方面的压力决定了物质基础，是大部分家庭考虑二胎问题的首要疑虑，而我们也希望各位家长能更多地关注自己和孩子在心理方面的准备程度。' +
            '<br /><br />' +
            findJiaoyu(dimList[1]) +
            '；另一方面，兄弟姐妹的存在对于孩子的心智发展有很大的影响，从你对孩子的培养目标来看，' +
            findXinzhi(dimList[2]) +
            '。' +
            '<br /><br />' +
            '同时，孩子对于弟弟妹妹的接纳程度关系到家庭的和睦，如果家长想要二胎一定要与孩子充分沟通哦~' +
            '</h4>',
            url: baseImageUrl + 'result_r2.jpg'
          }
        }
      }
    ];

  var currentQuestion = _questions[0];
  var _answers = _.indexBy(
      _.reduceRight(
        _.map(_questions, function(q){return q.answers}),
        function(a, b) { return a.concat(b); }, []),
      function(one){return one.id;}
  );
  var questions_map = _.indexBy(_questions, function(one){return one.id;});
window.yoparentData = {
  'id':20,
  'qType':'single-choice',
  'cate_id': '1',
  'title': '二胎，你准备好了吗 | 优儿学堂',
  'imgSrc': baseImageUrl + 'face.jpg?t=' + Math.random(),
  'imgWidth': 650,'imgHeight': 310,
  'description': '如今，“二胎”时代已全面到来，你的家庭环境与经济条件是否适合生二胎呢？作为父母，你是否已经做好充足的心理准备迎接二胎呢？优儿学堂将为你一一解答。<span style="color: #b2ed38">（请爸爸妈妈在两个选项中选择比较符合自己想法的选项）</span>'+
  '<br /><br />' +
  '本测试由优儿学堂独家开发，未经许可不得转载！',
  'isCheckResult':false,
  'showCheckResult':false,
  'share': {
    'title': '二胎，你准备好了吗 | 优儿学堂',
    'description':''
  },
  'questions': _questions,
  'tpl': 'default'
};
})();
